const BASE_URL = 'https://www.uinav.com'
// const BASE_URL = 'https://ugo.botue.com'
// const BASE_URL = 'https://api.zbztb.cn'

//  公共的请求方法
function request ({
  url,
  method,
  isAuth,
  data,
  isShowLoading = true // 默认显示Loading
}) {
  return new Promise((resolve, reject) => {
    // 接口不需要传token,默认值为{}
    let header = {}

    if (isAuth) {
      // 接口需要传token
      let token = wx.getStorageSync('token')
      // 接口需要token，但是没有登录态，跳转登录页
      if (!token) {
        wx.navigateTo({
          url: '/pages/login/main'
        })
        return
      }
      header.Authorization = token
    }

    // let isShowLoading = options.isShowLoading||true
    // 请求前开启loading
    if (isShowLoading) {
      wx.showLoading({
        title: '加载中',
        mask: true
      })
    }

    wx.request({
      url: BASE_URL + url,
      method,
      header,
      data: data,
      success: res => {
        let { message, meta } = res.data
        if (meta.status === 200) {
          resolve(message)
        } else {
          // 如果后端返回数据非正确数据,提示
          wx.showModal({
            title: '提示',
            content: meta.msg,
            showCancel: false
          })
          reject(meta)
        }
      },
      fail: () => {
        wx.showModal({
          title: '提示',
          content: '网络错误，请重试',
          showCancel: false
        })
        reject(new Error('网络错误，请重试'))
      },
      complete: () => {
        // 请求结束后，关闭loading
        if (isShowLoading) {
          wx.hideLoading()
        }
      }
    })
  })
}

export default request
